home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / amos / moreuselssprgs.lha / Glglglgl.AMOS / Glglglgl.amosSourceCode < prev    next >
AMOS Source Code  |  1997-04-18  |  3KB  |  136 lines

  1. ' *************************************
  2. ' *                                   *
  3. ' *          Glglglglgl V0.7          *
  4. ' *      Written by Chris Hodges      *
  5. ' *                                   *
  6. ' *************************************
  7. '
  8. ' Hab ich ganz kurz geschrieben, um jemanden zu zeigen, da� man
  9. ' f�r so ein Game wie Scorched Tanks keine 'h�here Mathematik' 
  10. ' braucht und da� es einfach zu proggen ist :-)
  11. Hide 
  12. Screen Open 0,320,256,4,0
  13. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  14. Palette $400,$888,$FFF,$FF0
  15. Colour 17,$121 : Colour 18,$252 : Colour 19,$575
  16. Colour 21,$211 : Colour 22,$522 : Colour 23,$755
  17. Colour 25,$122 : Colour 26,$255 : Colour 27,$577
  18. Colour 29,$221 : Colour 30,$552 : Colour 31,$775
  19. YP=Rnd(160)+64
  20. Dim HG(319)
  21. For X=0 To 319
  22.   YP=YP+Rnd(6)-3
  23.   HG(X)=YP
  24.    Extension_8_1016 X,YP To X,255,1
  25. Next 
  26. Dim PA(3,3)
  27. For P=0 To 3
  28.   PA(P,0)=Rnd(304)+8
  29.   PA(P,1)=HG(PA(P,0))
  30.   PA(P,2)=90
  31.   PA(P,3)=40
  32.   Sprite P*2,X Hard(PA(P,0)),Y Hard(PA(P,1)),1
  33. Next 
  34. P=0
  35. GRAV=3
  36. Do 
  37.   WI=Rnd(2)-1
  38.   Home 
  39.   Print "Player"+Str$(P+1)
  40.   Limit Mouse 0,0 To 180,99
  41.   Wait Vbl 
  42.   X Mouse=PA(P,2)
  43.   Y Mouse=PA(P,3)
  44.   OM=-1 : OP=-1
  45.   While Mouse Key : Multi Wait : Wend 
  46.   Repeat 
  47.     Multi Wait 
  48.     PA(P,2)=X Mouse : PA(P,3)=Y Mouse
  49.     If OP<>PA(P,3)
  50.       Ink 3 : Bar 216,8 To 217+PA(P,3),15
  51.       Ink 0 : Bar 216+PA(P,3),8 To 317,15
  52.       OP=PA(P,3)
  53.     End If 
  54.     If OM<>PA(P,2)
  55.       For A=0 To 1
  56.         NW=(OM*1024)/360+512
  57.         SX= Extension_8_1114(NW,7) : SY= Extension_8_1106(NW,7)
  58.          Extension_8_1016 PA(P,0),PA(P,1)-5 To PA(P,0)+SX,PA(P,1)+SY-5,A*2,2
  59.         OM=PA(P,2)
  60.       Next 
  61.       Sprite P*2,X Hard(PA(P,0)),Y Hard(PA(P,1)),1-(PA(P,2)>90)
  62.       Locate 0,1
  63.       Print "Wind:"+Str$(WI)+"  Angle: "+ Extension_8_0EB8(PA(P,2),3)+"  Power:"
  64.     End If 
  65.   Until Mouse Key
  66.    Extension_8_1016 PA(P,0),PA(P,1)-5 To PA(P,0)+SX,PA(P,1)+SY-5,0,2
  67.   NW=(PA(P,2)*1024)/360+512
  68.   SX= Extension_8_1114(NW,PA(P,3)*4) : SY= Extension_8_1106(NW,PA(P,3)*4)
  69.   X=PA(P,0)*128 : Y=PA(P,1)*128
  70.   Add X,SX*4
  71.   Add Y,SY*4
  72.   Do 
  73.     Add X,SX
  74.     Add Y,SY
  75.     Add SY,GRAV
  76.     Add SX,WIND
  77.     Sprite P*2+1,X Hard(X/128),Y Hard(Y/128),3
  78.     Exit If X<0 or X>40959
  79.     If Y/128>HG(X/128)
  80.       Sprite Off P*2+1
  81.       Ink 3
  82.       XX=X/128 : YY=Y/128
  83.       For A=1 To 10
  84.          Extension_8_05E6 XX,YY,A
  85.         Wait Vbl 
  86.       Next 
  87.       Ink 0
  88.       For A=10 To 1 Step -1
  89.         Circle XX,YY,A
  90.         Wait Vbl 
  91.       Next 
  92.        Extension_8_05E6 XX,YY,10
  93.        Extension_8_0388 XX,YY,0
  94.       For X=Max(XX-11,0) To Min(XX+11,319)
  95.         H=0 : L=0
  96.         For Y=HG(X) To YY+20
  97.           If Extension_8_039E(X,Y)
  98.             If L
  99.                Extension_8_1016 X,H To X,L-1,0,1
  100.                Extension_8_1016 X,Y-(L-H) To X,Y,1,1
  101.               Y=H-1
  102.               L=0 : H=0
  103.             Else 
  104.               If H=0
  105.                 H=Y
  106.               End If 
  107.             End If 
  108.           Else 
  109.             If H>0 and L=0
  110.               L=Y
  111.             End If 
  112.           End If 
  113.         Next 
  114.         For Y=HG(X)-10 To YY+20
  115.           If Extension_8_039E(X,Y)
  116.             HG(X)=Y
  117.             Exit 
  118.           End If 
  119.         Next 
  120.       Next 
  121.       Exit 
  122.     End If 
  123.     Wait Vbl 
  124.   Loop 
  125.   Sprite Off P*2+1
  126.   For A=0 To 3
  127.     If PA(A,1)<HG(PA(A,0))
  128.       For Y=PA(A,1) To HG(PA(A,0))
  129.         Sprite A*2,X Hard(PA(A,0)),Y Hard(Y),1-(PA(A,2)>90)
  130.         Wait Vbl 
  131.       Next 
  132.       PA(A,1)=HG(PA(A,0))
  133.     End If 
  134.   Next 
  135.   Add P,1,0 To 3
  136. Loop